home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-15 | 59.0 KB | 1,459 lines |
- Newsgroups: comp.object,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!news.kei.com!sol.ctr.columbia.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!uchinews!news
- From: Bob Hathaway <rjh@geodesic.com>
- Subject: Comp.Object FAQ Version 1.0.5 (12-13) Part 4/8
- Message-ID: <1993Dec14.044538.18285@midway.uchicago.edu>
- Followup-To: comp.object
- Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
- Sender: news@uchinews.uchicago.edu (News System)
- Organization: Geodesic Systems
- Date: Tue, 14 Dec 1993 04:45:38 GMT
- Approved: news-answers-request@MIT.Edu
- Lines: 1444
- Xref: senator-bedfellow.mit.edu comp.object:13851 comp.answers:2992 news.answers:15750
-
- Archive-name: object-faq/part4
- Last-Modified: 12/13/93
- Version: 1.0.5
-
- > Encore (Brown University)
- email:bpe@browncs.brown.edu
-
- Encore is an object-oriented database system targeted at large scale
- software engineering applications which are involved in data modeling.
- It was developed at Brown University in the late 1980s. It is notable
- for its special support for long-lived (ie. cooperative) transactions,
- popular in design applications, and its support for class versioning.
- Objects are never converted, rather, classes are versioned, and the
- user can specify filters to make old-style instances appear as new
- instances to new applications (and vice versa).
-
-
- References/Additional Information:
-
- [] Mary F. Fernandez. OBSERVER: A storage system
- object-oriented applications. Technical Report CS-90-27,
- Brown University, Providence, RI, 1990.
-
- [] Mark F. Hornick and Stanley B. Zdonik. A shared, segmented
- memory system for an object-oriented database. ACM
- Transactions on Office Information Systems, 5(1):70--95,
- January 1987.
-
- [] Andrea H. Skarra and Stanley B. Zdonik. Type evolution in an
- object-oriented database. In Research Directions in
- Object-Oriented Programming, MIT Press Series in Computer
- Systems, pages 393--415. MIT Press, Cambridge, MA, 1987. An
- early version of this paper appears in the OOPSLA '86
- proceedings.
-
- [] Andrea H. Skarra and Stanley B. Zdonik. Concurrency control
- for cooperating transactions in an object-oriented database.
- In Won. Kim and Frederick H. Lochovsky, editors,
- Object-Oriented Concepts, Databases and Applications.
- Addison-Wesley, Reading, MA, 1989.
-
- FTP: Complete source can be found in wilma.cs.brown.edu/pub/encore.tar.Z
- See also APPENDIX E.
-
-
- > Exodus (University of Wisconsin)
-
- EXODUS is a DBMS from the University of Wisconsin. An overview,
- excerpted from the abstract of [CDG+90] reads:
-
- EXODUS, an extensible database system project that is
- addressing data management problems posed by a variety of
- challenging new applications. The goal of the project is to
- facilitate the fast development of high-performance,
- application-specific database systems. EXODUS provides
- certain kernel facilities, including a versatile storage
- manager. In addition, it provides an architectural framework
- for building application-specific database systems; powerful
- tools to help automate the generation of such systems,
- including a rule-based query optimizer generator and a
- persistent programming language; and libraries of generic
- software components (e.g., access methods) that are likely to
- be useful for many application domains.
-
- The programming language is called E, an extension of C++. [RC89]
-
- REFERENCES:
- (see "ftp.cs.wisc.edu:exodus/bibliography" for a complete list)
-
- [CDG+90] Michael J. Carey, David J. DeWitt, Goetz Graefe,
- David M. Haight, Joel E. Richardson, Daniel T. Schuh,
- Eugene J. Skekita, and Scott L. Vandenberg. The EXODUS
- extensible DBMS project: An overview. In Stanley B.
- Zdonik and David Maier, editors, Readings in
- Object-Oriented Database Systems, Data Management
- Series. Morgan Kaufmann, San Mateo, CA, 1990. Also
- available as WISC-CS-TR 808.
-
- [CDRS89] Michael J. Carey, David J. DeWitt, Joel E. Richardson,
- and Eugene J. Skekita. Storage management for objects
- in EXODUS. In Won. Kim and Frederick H. Lochovsky,
- editors, Object-Oriented Concepts, Databases and
- Applications, chapter 14. Addison-Wesley, Reading, MA,
- 1989. After Carey et al. Object and File Management in
- the EXODUS Database System, Proceedings of the Twelveth
- International Conference on Very Large Data Bases,
- 1986.
-
- [GD87] G. Graefe and D. DeWitt. The EXODUS optimizer
- generator. In U. Dayal and I. Traiger, editors,
- Proceedings of the SIGMOD International Conference on
- Management of Data, San Francisco, CA, May 1987.
-
- [RC89] Joel E. Richardson and Michael J. Carey. Persistence in
- the E language: Issues and implementation. Software --
- Practice and Experience, 19(12):1115--1150, December
- 1989.
-
-
- FTP: source code, documentation and a complete bibliography can be
- found at ftp.cs.wisc.edu:exodus/
-
- See also APPENDIX E.
-
-
- On Schema Evolution (from original survey):
- No solution for the problem of schema evolution is provided.
- Emulation is rejected by the authors, who claim that the addition of a
- layer between the EXODUS Storage Manager and the E program would
- seriously reduce efficiency. Automatic conversion, whether lazy or
- eager, is also rejected, as it does not mesh well with the C++ data
- layout. To implement immediate references to other classes and
- structures, C++ embeds class and structure instances within its
- referent. The resulting change in the size of the object might
- invalidate remote pointer references.
-
- Joel E. Richardson and Michael J. Carey. "Persistence
- in the E language: Issues and Implementation." Appeared
- in "Software -- Practice and Experience",
- 19(12):1115-1150, December 1989.
-
-
- > Machiavelli (University of Pennsylvania)
-
- Machiavelli is a statically-typed programming language developed
- at the University of Pennsylvania. Its most outstanding innovation
- is the use of conditional typing scheme in its type inference system.
- It does not address type evolution.
-
- [communication with limsoon@saul.cis.upenn.edu]
-
- [Note: Machiavelli is included in this summary because it
- previously incorporated persistence in its data model.]
-
-
-
- > MOOD4-PC: Material's/Miniature Object-Oriented Database Prototype for
- NEC/IBM-PC
-
- is an object-oriented database system(OODBS) program developed in the
- course of our research project MOOD. The aim of the project MOOD is to
- develop a material database system to handle raw material data which
- are produced and accumulated in materials research and referred to by
- material experts when they face scientific or engineering problems
- where the expected behavior of particular materials in particular
- environments are crucial importance. We all know that the conventional
- database systems do not fulfill this requirement, though they serves
- well for bibliographic databases or fact databases which deals with
- the standard properties of standard materials.
-
- MOOD4-PC is written in Arity/Prolog and available in source and
- executable form via anonymous ftp from:
-
- ~/pub/mood/mood4
- at mood.mech.tohoku.ac.jp [130.34.88.61]
-
- ~/pub/database/mood
- at ftp.uu.net [192.48.96.9]
-
- ~/pub/computing/databases/mood
- at src.doc.ic.ac.uk [146.169.2.1]
-
- Although it is true enough to say that MOOD4 is a general purpose
- OODBS, it may be appropriate to point out that MOOD4 is significantly
- different from what is generally meant by the term, the
- Object-Oriented Database System.
-
- That is, OODBSs, in general, consist of two parts:
-
- (1) Disk storage manager
- (2) Database language to define and manipulate data objects to
- be stored to and retrieved from the disk.
-
- The database language of OODBS is akin to the object-oriented
- programming language such as Smalltalk or C++. You can enjoy the full
- versatility of these general purpose programming language in writing
- application programs with the database language.
-
- As apparent from these, OODBSs, in general, are for programmers who
- write application programs which serve end users' needs. MOOD, on the
- other hands, is not; it is for end users. It is provided with a user
- interface named the object editor or OE in short. With OE, we can;
-
- (1) Edit class definition objects and save them. This replaces the
- data definition language.
-
- (2) Edit data objects and save them.
-
- (3) Create query objects, let the system select data objects which
- match the queries, and browse them.
-
- In the other words, we can do everything necessary to manage and use
- database with OE. MOOD, therefore, needs no programming language and,
- in fact, has none. In this regard, MOOD may better be categorized to
- the OODBS application.
-
- The architecture of MOOD as such is the consequence of the nature of
- information to be dealt with in material database. If we describe the
- nature with a single word, "variety" will be the one most appropriate.
- No fixed data structure can handle a handful of material data because
- their contents differ from one to another. The feature of OODBS
- relevant here is not the intimacy with programming languages but the
- flexibility of data structure which allows us to construct data
- objects with a variety of structures which match the variety in the
- information to be dealt with. Upon inputting and retrieving data
- objects, end users are forced to face this variety in data structure
- since significant information is born in the structures of individual
- representations.
-
- Yet, we say that MOOD is a general purpose OODBS. This is not in the
- sense that we can develop application programs on it, but in the
- sense that it generally supports the essential capabilities of OODBS;
-
- (1) The abstract data type.
-
- (2) The nesting of structured data objects.
-
- (3) The class hierarchy.
-
- (4) The inheritance of attributes along the hierarchy.
-
- (5) Matching between objects along their structures with the
- knowledge of the class hierarchy.
-
- For additional features of MOOD4, please consult its manual available
- with the program. Although they are biased to the processing of
- material data (or, more generally, scientific and technical data),
- MOOD with these capabilities can be used in any application domain at
- least by the stage where you are to examine how well the pieces of
- information of interest are represented in OODBS and how well specific
- items of interest are discriminated out from the database as such.
-
- Questions and suggestions on this software which are ever welcome
- indeed may be addressed to;
-
- Noboru Ono
- Dept. of Machine Intelligence and Systems Engineering,
- Faculty of Engineering, Tohoku University.
- Tel:++22-216-8111,
- Fax:++22-216-8156,
- E-mail:ono@mood.mech.tohoku.ac.jp
-
-
-
-
- > OBST/STONE (Forschungszentrum Informatik [FZI], Karlsruhe, Germany)
-
- The OBject System of Stone --- OBST
-
- The persistent object management system OBST was developed by
- Forschungszentrum Informatik (FZI) as a contribution to the STONE
- project. This project (supported by grant no. ITS8902A7 from the
- BMFT, i.e. the German Ministry for Research) aims at the development
- of a software engineering environment for education purposes and is
- carried out as a joint project of nine german universities and
- research institutions.
-
- An essential feature of STONE is that the object oriented paradigm
- is pursued consequently as a key concept. OBST is the common persistent
- object store for all tools within the STONE environment.
-
-
- Data Model
- ---------
-
- The OBST data model can be characterized by the following properties:
-
- * Schema definition language syntactically similar to C++
- * Support of multiple inheritance
- * Generic classes
- * Abstract classes and methods
- * Distinction between public, protected, and private methods
- * Redefinition of methods
- * Overloading of methods
-
- Schemas and Containers
- ----------------------
-
- Schemas are compiled by the OBST schema compiler. The compilation
- results are instances of classes of the meta schema. From these
- instances in a next step interfaces to different programming languages
- can be generated. At present the C++ language binding is implemented,
- interfaces to Lisp and other languages are planned.
-
- Objects are stored in so-called containers. The container an object
- belongs to is determined at the time of object creation and fixed
- throughout the object's lifetime. Containers are the units of
- clustering, synchronization, and recovery. Objects can be referenced
- by other objects across container boundaries.
-
- Incremental Loading
- -------------------
-
- OBST provides a mechanism to incrementally load methods. This enables
- programs to deal with objects whose type is defined after the program
- itself has been developed. This is useful in systems that provide for
- inheritance and it supports schema evolution. We used it e.g. for
- programs that interpret the object base and call methods of the
- found objects (for example the below mentioned browser).
-
- Prototype
- ---------
-
- Since end 1990 the first prototype of OBST is available and is shipped
- to interested universities and research institutions. The current
- version is publicly available via FTP (see below) since March '92.
- Our current mailing list (see below) comprises about 150 persons.
-
- The system comes with the schema compiler, a library of predefined
- classes (like Set<Entity>, List<Entity>, String, ...), a graphical
- object browser (more a shell than a browser), the structurer and
- flattener (STF), tclOBST, and all manuals. For STF and
- tclOBST see below.
-
- Structurer and Flattener
- ------------------------
-
- This is a tool to build objects from bytestrings and flatten objects
- down to bytestrings. It is intended to be used when coupling UNIX
- tools to the object management system. The user defines a grammar that
- describes her objects. Afterwards, the structurer parses an ascii
- text according to the given grammar and creates an OBST object
- structure that represents the corresponding parse tree.
- The flattener does the inverse transformation, that means it generates
- an ascii text from a given OBST object structure according to the given
- grammar.
-
- tclOBST
- -------
-
- tclOBST is a library which provides an embedding of OBST into the
- interactive tool command language tcl, developed by John Ousterhout
- at the University of Berkeley.
- Based on the standard tcl shells, which are also comprised in the
- tclOBST distribution, tclOBST offers interactive access to the complete
- functionality modeled by OBST schemata.
-
-
- System Requirements
- -------------------
-
- For the prototype's installation a C++ compiler (GNU g++ 1.37 or
- later 1.4* or 2.3.3 or AT&T 2.0/2.1/3.01) and the X-Windows system
- (currently X11R4 or X11R5) for the graphical tools are required.
- Installation is well-tried on SUN 4/* systems and should be no problem
- on other UNIX machines, too.
-
- --------------------------------------------------------------------
-
- For more information please mail to:
-
- Forschungszentrum Informatik (FZI)
- STONE Projekt
- Haid-und-Neu-Strasse 10-14
- D-76131 Karlsruhe
- Germany
-
- or email to: stone@fzi.de
-
- Phone: ++49-721-9654-601
- Fax: ++49-721-9654-609
- Teletex: 721 190 fziKA
-
- The OBST system is available via anonymous FTP from ftp.fzi.de
- [141.21.4.3]. The system can be found in the directory /pub/OBST/OBST3-3.3
-
- Sites interested in getting information about new OBST developments
- are welcome to register in our mailing list. This can be done
- by sending an email with subject "obst-mailing-list" and contents
- "SUBSCRIBE <firstname> <surname> <email-adr>" to stone@fzi.de.
- If the subscription was successful you will receive a confirmation.
-
- Bug reports should contain a small example program with which the
- bug can be reproduced, or at least a detailed description of the
- observed phenomenon.
-
- Besides bug reports we are strongly interested in all experiences
- our users make with OBST (e.g. sufficiency of data model, performance,
- ...) and in our users' application areas and the applications as
- well. So, please don't hesitate to send us a short note.
-
- Best regards and happy OBST programming.
-
- The OBST Team
-
-
- ---
-
- BTW "Obst" is the German word for "fruit",
- so have a fruitful time with OBST!
-
-
- > Ode
-
- Ode 2.0
- An Object-Oriented Database
-
- C++ Compatible, Fast Queries, Complex Application Modeling,
- Multimedia Support, and more
-
- See APPENDIX E, Databases, for description.
-
-
- > Oggetto, University of Lancaster, UK.
-
- Developed at the University of Lancaster, UK. Summary NYI.
-
- "Oggetto: An Object Oriented Database Layered on a Triple Store",
- J.A. Mariani, The Computer Journal, V35, No 2, pp108-118, April 1992.
-
-
- > ORION (Now marketed as ITASCA)
-
- ORION was a prototype OODBMS developed at MCC, an American consortium by Won
- Kim and his group. Won Kim has left MCC and formed a new company, UniSQL, in
- Austin, with a new product of the same name.
-
- See also entry under "ITASCA".
-
- REFERENCES:
-
- I have found nearly a dozen papers published by the ORION folks.
- Overviews at various stages in its development and commercialization
- can be found in:
-
- [KBGW91] Won Kim, N. Ballou, J.F. Garza, and D.; Woelk. A
- distributed object-oriented database system supporting
- shared and private databases. ACM Transactions on
- Information Systems, 9(1):31--51, January 1991.
-
- [KGBW90] W. Kim, J.F. Garza, N. Ballou, and D. Woelk.
- Architecture of the orion next-generation database
- system. IEEE Transactions on Knowledge and Data
- Engineering, 2(1):109--24, March 1990.
-
- [KBCG89] Won Kim, Nat Ballou, Hong-Tai Chou, and Darrell Garza,
- Jorge F. Woelk. Features of the ORION object-oriented
- database system. In Won. Kim and Frederick H.
- Lochovsky, editors, Object-Oriented Concepts, Databases
- and Applications, chapter 11. Addison-Wesley, Reading,
- MA, 1989.
-
- [KBC+88] Won Kim, N. Ballou, Hong-Tai Chou, J.F. Garza,
- D. Woelk, and J. Banerjee. Integrating an
- object-oriented programming system with a database
- system. In Proceedings of the ACM Conference on
- Objected-Oriented Programming: Systems, Languages and
- Applications (OOPSLA), pages 142--152, San Diego, CA,
- September 1988. Published as ACM SIGPLAN Notices
- 23(11).
- [Pointers to the previous papers documenting each of the
- advanced features listed above are cited therein.]
-
-
- The paper most relevant to the issue of schema evolution is the
- following:
-
- [BKKK87] J. Banerjee, W. Kim, H-J. Kim, and H.F. Korth.
- Semantics and implementation of schema evolution in
- object-oriented databases. In U. Dayal and I. Traiger,
- editors, Proceedings of the SIGMOD International
- Conference on Management of Data, San Francisco, CA,
- May 1987.
-
-
- You might also like to look at Kim's book, which provides a good
- introduction to OODBMS, while focusing on the ORION work:
-
- [Kim90] Won Kim. Introduction to Object-Oriented Databases.
- Computer Systems. MIT Press, Cambridge, MA, 1990.
-
-
- > OTGen (Carnegie Mellon University/UMass Amherst)
-
- OTGen is a design for a system to support schema evolution in
- object-oriented databases. The chief contribution of OTGen is support
- for programmer extensibility of transformation functions to allow a
- system to support a wide range of schema changes, not just those that
- can be easily automated. While OTGen was never implemented, it is
- based on the implementation of TransformGen, a system to support the
- evolution of the specialized databases used by Gandalf programming
- environments. For more information on OTGen and TransformGen, please
- see:
-
- Barbara Staudt Lerner and A. Nico Habermann, "Beyond Schema Evolution
- to Database Reorganization", in Proceedings of the Joint ACM
- OOPSLA/ECOOP '90 Conference on Object-Oriented Programming:
- Systems, Languages, and Applications, Ottawa, Canada, October
- 1990, 67-76.
-
- Barbara Staudt, Charles Krueger, and David Garlan, TransformGen:
- Automating the Maintenance of Structure-Oriented Environments,
- Computer Science Department Carnegie-Mellon University, Technical
- Report CMU-CS-88-186, November 1988.
-
- David Garlan, Charles W. Krueger, and Barbara J. Staudt, "A Structural
- Approach to the Maintenance of Structure-Oriented Environments",
- in Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering
- Symposium on Practical Software Development Environments, Palo
- Alto, California, December 1986, 160-170.
-
- Contact:
- Barbara Lerner
- blerner@cs.umass.edu
-
-
- > VODAK
-
- Research in the framework of VODAK focuses on an extensible data
- model and database programming language, an advanced transaction
- model, object-oriented query language, and support for multimedia data.
-
- The VODAK Data Model Language VML
-
- Usually database models lack mechanisms for extending them with
- additional modeling primitives. This limitation does not allow the
- adaptation of the models for specific application needs, e.g. database
- integration, multimedia document handling, hypertext modeling, etc.
-
- The VODAK Model Language VML homogeneously integrates the concept of
- metaclasses and the separation of types and classes with other
- object-oriented concepts such as properties, methods, inheritance, and
- object identity. Complex nested data structures can be defined using
- the set, array, tuple, and dictionary type constructors. VML supports
- its own programming language for implementing methods, specifying
- transactions and an ad hoc query language.
-
- In VML classes are used to organize a set of objects corresponding to
- real world entities and relationships between them. Object types define
- the structure of objects and the operations defined on these
- structures. They are associated with classes in order to determine the
- structure and behavior of the class' instances. Metaclasses are first
- class objects whose instances are classes. Metaclasses are associated
- with three object types: an (optional) own-type extending their own
- behavior, an instance-type specifying the behavior of their instances
- (which are classes), and an instance-instance-type specifying the
- behavior of the instances of their instances. Metaclasses can be
- organized in an instantiation hierarchy of arbitrary depth.
-
- This approach leads to an open, adaptable data model which provides for
- the specification of additional modeling primitives at a meta layer of
- the database schema. The concept of metaclasses and the separation of
- classes and types allow to determine the structure and behavior of
- objects and the individual inheritance behavior via semantic
- relationships between arbitrary objects already at the meta layer
- independently from the specifications given at the application layer
- for the application specific classes.
-
-
- The VODAK Transaction Model
-
- In VODAK, we focus on two specific problems of transaction management.
-
- 1. Operations to read and edit (hyper)documents are typically complex,
- interactive and of long duration. A high degree of concurrency is
- required to reduce the number and length of times a transaction is
- blocked.
-
- 2. A publication environment has to handle existing database systems
- for using and modifying remote information and documents. Transaction
- managers of existing systems, i.e. concurrency control and recovery,
- have to be integrated in a transparent way utilizing the functionality
- of existing managers.
-
- Our transaction model is based on open nested transactions. Compared to
- conventional flat transactions, nested transactions allow more
- concurrency and are more flexible for recovery. A nested transaction
- is a tree-like structure, dynamically built up by the call of
- subtransactions until a bottom implementation level is encountered.
-
- We extended the open nested model from a fixed calling hierarchy of
- operations in a layered system (multi-level transactions) to an
- arbitrary calling hierarchy of operations in an object-oriented system.
- Commutativity of operations is applied to system defined VODAK methods,
- and to methods of user defined object types. For the second type of
- operations, we developed a framework to specify commutativity and
- inverse operations in VML.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- Multimedia Support
-
- The V3 Video Server was built as a demonstration showing a multimedia
- application developed on top of the VODAK database management system.
- The V3 Video Server allows a user to interactively store, retrieve,
- manipulate, and present analog and short digital video clips. A video
- clip consists of a sequence of pictures and corresponding sound.
- Several attributes like author, title, and a set of keywords are
- annotated.
-
- In the future, the VODAK DBMS will be enhanced with new built-in
- functionality for multimedia datatypes. Therefore, existing components
- of VODAK must be changed and new ones must be added to support time
- dependencies, high data volumes, and user interaction.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- The VODAK Prototype
-
- The system architecture consists of a central database environment and
- several external database environments to which the user wants to have
- integrated access. Each of these environments consists of an object
- manager, a message handler, a transaction manager, and a communication
- manager. In addition to these components an external database
- environment includes a database interface module which realizes the
- access to an external database system.
-
- The DBMS components are currently built on top of DAMOKLES and will be
- in the near future on top of ObjectStore.
-
- A first version of a C++ based prototype of VODAK is available for Sun
- Sparc Stations under certain conditions. It implements all the
- features specified in including e.g. metaclasses, transactions, and
- remote message execution.
-
- References
-
- P. Muth, T. Rakow, W. Klas, E. Neuhold: A Transaction Model for an
- Open Publication Environment. A. K. Elmagarmid (Ed.): Database
- Transaction Models for Advanced Applications. Morgan Kaufmann
- Publishers, San Mateo, Calif., 1992.
-
- Wolfgang Klas, Karl Aberer, Erich Neuhold Object-Oriented Modeling for
- Hypermedia Systems using the VODAK Modeling Language (VML) to appear
- in: Object-Oriented Database Management Systems, NATO ASI Series,
- Springer Verlag Berlin Heidelberg, August 1993.
-
- Karl Aberer, Gisela Fischer Object-Oriented Query Processing: The
- Impact of Methods on Language, Architecture and Optimization
- Arbeitspapiere der GMD No. 763, Sankt Augustin, July 1993.
-
- T.C. Rakow, P. Muth The V3 Video Server: Managing Analog and Digital
- Video Clips, Sigmod 93, Washington, DC.
-
- For further information contact
-
- {aberer,muth,rakow,klas}@darmstadt.gmd.de
-
- GMD-IPSI
- Dolivostr. 15
- D-64293 Darmstadt
- GERMANY
-
- FAX: +49-6151-869 966
-
-
- Commercial Systems
- __________________
-
- > ArtBASE (Object-Oriented Data Model)
-
- by: ArtInAppleS Ltd.
- Kremelska 13
- 845 03 Bratislava
- SLOVAKIA
- Phone: x42-7-362-889
- fax: x42-7-777 779
- EMail: artbase.support@artinapples.cs
-
- Distributor for Germany:
- ARS NOVA Software GmbH
- Stettener Strasse 32/3
- 73732 Esslingen a.N.
- Germany
- Phone: x49-711 3704001
- Fax: x49-711 3704001
- EMail: info@arsnova.stgt.sub.org
-
- Languages: Objectworks\Smalltalk by ParcPlace Systems, Inc.
-
- Platforms: Unix, PC Windows, Macintosh
-
- Features:
- - Fully implemented in Objectworks\Smalltalk
- (ArtBASE is delivered with source code)
-
- - ArtBASE extents Smalltalk of persistency. Persistent objects are handled the
- same way as transient objects.
-
- - Optimistic and pessimistic concurrency control.
-
- - Transactions, including long lived transactions
-
- - User concept with access restrictions
-
- - storing of classes and methods in the database - entire applications
- may be stored in an ArtBASE database, including the data AND the
- application classes
-
- - Currently, a single user version is available. The Distributed Multi User Server Version
- will be presented at the OOPSLA'93 at Washington D.C. in September 1993 for Unix
- environments and PCs.
-
- - Existing applications can be turned to database applications very easily using ArtBASE
-
-
- > EasyDB (Objective Systems, Sweden)
-
- EasyDB features a (programming language independent) Data Definition
- Language (DDL) for the definition of schemas. It relies on the
- Entity-Attribute-Relationship model. Data Manipulation Languages
- (DML) include a Navigational Query language (NQL) embedded in a host
- language (C available now, Ada in January '93), and a generic C++
- class library.
-
- On Schema Evolution (from original survey):
- The schema may be freely extended with new items (types, domains,
- attributes, entities, relationships etc.). Deletion of items is not
- allowed.
-
- Data created with an older schema may co-exist with newer data. Old
- applications need not be recompiled when the schema is updated.
- Attempts by newer applications to access `older' data in an
- inconsistent way are detected and reported via an exception handling
- system.
-
- [Tomas Lundstrom <tomas@os.se>]
-
- Objective Systems SF AB (Ericsson)
- Box 1128
- S-164 22 Kista, Sweden
- tel : +46-8-703-4591
- fax : +46-8-750-8056
- contact: Jaan Habma, jaan@os.se
-
-
- > GemStone (Servio Logic)
-
- First introduced in 1987, Servio's GemStone is the oldest commercial ODBMS
- available today. GemStone is particularly well suited for use in complex
- multi-user, multi-platform client/server applications. It supports
- concurrent access from multiple external languages, including Smalltalk-80,
- Smalltalk/V, C++ and C. GemStone also provides a dialect of Smalltalk as an
- internal DML, which can execute methods or entire applications in the
- database.
-
- Servio also offers GeODE (GemStone Object Development Environment), an
- object database application development environment which allows developers
- to build complete object applications visually, without writing code. With
- GeODE's visual programming tools, programming an application is a matter of
- wiring together graphical representations of encapsulated code blocks. A
- simple extension mechanism promotes the re-use of code, thereby increasing
- the speed of program development. Also, association of application user
- interface elements with database objects is established through simple
- graphical tools. GeODE applications are stored and run in the GemStone
- database, and so are both self-porting and network-aware, and can be
- accessed externally from any of the GemStone language interfaces. Because
- of GemStone's network architecture, Geode applications can operate easily
- in a client/server environment.
-
-
- ==============================================================================
-
- GEMSTONE
-
- GemStone is a highly scalable client-multiserver database for commercial
- applications. GemStone's features include:
-
- o Active Database -- GemStone allows database application developers to
- write methods which are stored and executed directly in the database.
- These methods can be accessed either internally, or from external client
- applications. This can significantly reduce network traffic and allow
- applications to take advantage of the superior compute power of the
- server. This also eliminates the need to rebuild and re-deploy
- applications whenever application or business processing rules change.
- This in turn allows for centralized code development and management,
- architecture-independent code that ports itself to new platforms,
- reduced network usage, and true client/server applications that share
- compute load between client and server machines.
-
- o Concurrent Support for Multiple Languages -- GemStone provides
- concurrent support for applications developed in Smalltalk, C++, C or
- GeODE. All applications, regardless of language, can have simultaneous
- access to the same database objects.
-
- o Flexible multi-user transaction control -- Multiple users can
- operate in the database simultaneously, with a variety of transaction
- control modes available.
-
- o Object-level security -- Authorization control can be applied to any
- object in the database, allowing for fine tuning of object security.
-
- o Dynamic schema and object evolution -- GemStone supports schema
- modification through class versioning and allows full migration of
- objects between versions of their classes with a simple message send.
- Migration is fully customizable and is undoable.
-
- o Production Services -- GemStone delivers the full suite of features
- required in any production-ready networked database including online
- backup, rapid recovery, referential integrity, sophisticated concurrency
- control, and event signals and notifiers.
-
- o Scalability -- In a recent independent benchmark, GemStone scaled to
- support more than 1,000 simultaneous log-ins and 100 concurrent active
- users on a mid-sized SMP server.
-
- o Legacy Gateways -- GemStone incorporates gateways or data bridges
- that allow object applications to integrate legacy data, whether in SQL,
- IMS, VASM or other formats. The level of integration between GemStone
- and legacy data and applications can range from simple query access to
- extensive read-write interoperability.
-
-
- ==============================================================================
-
- GEODE
-
- GeODE is a comprehensive environment for rapidly designing, building and
- deploying production-quality commercial object applications. Its design
- promotes code reuse in a team programming environment for increased
- productivity. GeODE consists of six main elements:
-
- o Visual Application Manager -- Provides centralized management
- of each application and its component parts, and a namespace for
- addressing known objects.
-
- o Visual Schema Designer -- Allows the development of database schema
- visually, making the process more interactive and intuitive than with
- object-oriented programming languages. It also provides analysis tools
- for examining an existing schema.
-
- o Visual Forms Designer -- The Forms Designer reads GemStone class
- definitions and an associated data dictionary to automatically create
- default forms suitable for simple data entry. These forms can be rapidly
- customized, using a wide selection of user interface components and
- field types, which include image and sound support, and a large set of
- form design aids. The list of field types can be extended interactively.
-
- o Visual Program Designer -- The Visual Program Designer allows developers
- to visually create and modify the behavior of an application without
- having to write code. Programs are created by connecting visual program
- blocks to field blocks drawn from the forms created in the Forms
- Designer. A large collection of predefined program blocks is provided
- with GeODE, and users can extend the catalog in any of a number of
- simple ways. Code-based programming can be integrated routinely.
-
- o Developer Class Library - GeODE comes standard with more than 480
- classes and thousands of methods, and is easily extended for handling
- specialized applications. In a team environment, some programmers can
- develop visual applications while others write new methods that are
- encapsulated into visual program blocks for easy reuse.
-
- o Developer Tools -- GeODE includes tools for debugging, browsing and
- inspecting applications. Included in this set of tools are several
- debuggers, browsers, inspectors, an object clipboard, an image editor,
- and a code profiler for performance analysis.
-
-
- ==============================================================================
-
- PLATFORMS
-
- GemStone release 3.2 and GeODE 2.0 and all language interfaces are
- available for UNIX workstations and servers from SUN, HP, IBM, Sequent, and
- DEC. Client-only support is available in a number of languages for Windows
- 3.1, OS/2 and Macintosh. Servio is an active member in the Object
- Management Group and the ANSI Smalltalk standardization committee. Servio
- supports SUN ODMG, ANSI C++ and intends to comply fully with the emerging
- standards.
-
- ==============================================================================
-
- REFERENCES
-
- [Maier, et al. 84] D. Maier, J. Stein, A. Otis, A. Purdy, ``Development
- of an object-oriented DBMS'' Report CS/E-86-005, Oregon Graduate Center,
- April 86 - ACM 0-89791-204-7/86/0900-0472
-
- R.G.G. Cattell: Object Data Management - Object-Oriented and Extended
- Relational Database Systems; Addison-Wesley. ISBN 0-201-53092-9
-
- Robert Bretl, David Maier, Allan Otis, Jason Penney, Bruce Schuchardt,
- Jacob Stein, E. Harold Williams, Monty Williams. "The GemStone Data
- Management System." Chapter 12 of "Object-Oriented Concepts, Databases
- and Applications", by Kim and Lochovsky.
-
-
- ==============================================================================
-
- CONTACTS
-
- === Headquarters - San Jose ====
-
- Servio Corporation
- 2085 Hamilton Avenue
- Suite 200
- San Jose CA 95125
-
- Tel: 800-243-9369
- Tel: 408-879-6200
- Fax: 408-369-0422
-
- === Chicago ====
-
- Servio Corporation
- 8410 Bryn Mawr
- Suite 400
- Chicago IL 60631
-
- Tel: 312-380-1310
- Fax: 312-380-1308
-
- === New York ====
-
- Servio Corporation
- 1120 Avenue of the Americas
- 4th Floor
- New York NY 10036
-
- Tel: 212-626-6680
- Fax: 212-626-6684
-
- === Dallas ====
-
- Servio Corporation
- 14875 Preston Road
- Suite 550
- Dallas TX 75240
-
- Tel: 214-980-7073
- Fax: 214-980-2949
-
- === Europe/UK ====
-
- Servio UK
- Criterion House
- Beauchamp Court, Victors Way
- Barnet EN5 5TZ England
-
- Tel: +44 81 447-0800
- Fax: +44 81 447-0577
-
- === Japan ====
-
- Servio Corporation
- Daito-Eiwa Building, 7F
- 5-11 Nihonbashi-Hakozakicho
- Chuo-ku Tokyo 103 Japan
-
- Tel: +81 3 3660-1910
- Fax: +81 3 3663-3287
-
- =====================
- === Distributors ====
- =====================
-
- === Germany, Austria, Switzerland ====
-
- ObjectOriented System Technologies
- Baroper Str. 337
- Dortmund 50 W-4600
- Germany
-
- Tel: +49 231 975 990
- Fax: +49 231 975 99-20
-
- === Japan ====
-
- Japan Information Processing Co., Ltd.
- 6-7 Kabutocho, Nihonbashi
- Chuo-ku Tokyo 103 Japan
-
- Tel: +81 3 3668-6170
- Fax: +81 3 3668-1428
-
- ---
-
- Nexus Technology K.K.
- Suite 901
- Botan 3-11-1
- Koto-ku Tokyo 135 Japan
-
- Tel: +81 3 3660-1910
- Fax: +81 3 3663-3287
-
- === Taiwan ====
-
- Anco Technologies
- 11-1F, 76 Tun Hwa S. Road, Sec. 2
- Taipei
- Taiwan, R.O.C.
-
- === Italy ====
-
- Etnoteam S.P.A.
- Via Adelaide Bono Cairoli 34
- Milano 20127 Italy
-
- Tel: +39 2 261 621
- Fax: +39 2 261 10755
-
- === England ====
-
- AI International Ltd.
- 1 Parkview Road
- Berkhamsted
- Herts HP4 2EY England
-
- Tel: +44 442 876 722
- Fax: +44 442 877 997
-
- ==== Mexico ====
-
- TEIX, Sistemas de Informacion
- Estrategica S.A. de C.V.
- Antonio M. Anza No. 43
- Col Roma Mexico D.F. 06700
-
- Tel: +52 5 564-7146
-
-
- > ITASCA
- ITASCA ODBMS V2.2
-
- Itasca Systems, Inc.
- 7850 Metro Parkway
- Minneapolis, MN 55425
- sales@itasca.com
- (612) 851-3155
-
- Sandy Miezwa
- (612) 851-3169
-
- Introduction
-
- Itasca Systems develops, markets, and supports ITASCA, a distributed
- active object database management system and related tools. The initial
- research work for ITASCA occurred in the Object-Oriented and Distributed
- Systems Lab at the Microelectronics and Computer Technology
- Corporation (MCC) in Austin, Texas. The research was known as the
- ORION prototypes.
-
- The ITASCA Distributed ODBMS is a language neutral, full-featured, active
- object database that supports data access from various object
- languages. ITASCA allows clients to transparently access data that is
- distributed among multiple servers. ITASCA supports full dynamic schema
- modification that can be performed during any phase of the software
- lifecycle. Applications written in dissimilar and incompatible languages,
- such as C++ and CLOS, share objects through ITASCA. ITASCA stores methods
- inside the database, promoting reusability and maintainability. The only
- commercial ODBMS based upon the MCC Orion technology, ITASCA is considered
- by many to be the most feature-rich ODBMS on the market today.
-
- This overview describes release 2.2 of the ITASCA Distributed Object
- Database Management System. It describes how ITASCA functions,
- outlines its implementation features, and explains some of the system
- benefits.
-
-
- History of ITASCA
-
- ITASCA is based on a series of object database research prototypes. Work
- on these prototypes began in 1985 at the Microelectronics and Computer
- Technology Corporation (MCC) Object-Oriented and Distributed Systems
- Laboratory. MCC released the first prototype, ORION-1, in May, 1987, as
- a single-user system. MCC extended ORION-1 to the ORION-1SX
- prototype system and released it to the shareholder companies in April,
- 1988. ORION-1SX was a multi-user system with a multi-client, single
- server architecture. The third prototype, ORION-2, introduced a distributed,
- object-oriented architecture for a multi-user environment. MCC released
- the third prototype to shareholder companies in July, 1989. ORION-2 has a
- multi-client, multi-server architecture. Having met its objectives, MCC
- stopped all work on ORION at that time. Over five million dollars was spent
- for the three generations of prototypes.
-
- The ITASCA product is an extension and commercialization of the ORION-2
- prototype from MCC. Itasca Systems has added major enhancements and
- features, improved the performance, and strengthened the code. It now runs
- on UNIX systems from multiple vendors. ITASCA is an industrial-strength,
- documented product, fully supported by Itasca Systems, Inc. Itasca Systems
- continues to develop tools and other products to work with ITASCA.
-
-
- Overview
-
- ITASCA employs a distributed architecture with private and shared objects
- spread across UNIX-based computers on a local-area network. The
- ITASCA model follows the object-oriented view that uniformly models any
- real-world entity as an object. Each object has a unique identifier along with
- a state and behavior. Attributes represent the state of an object. Methods
- (code) define the behavior of an object. A class object collects objects that
- share the same set of attributes and methods. Subclasses derive from
- existing classes. The resulting schema, or database definition, is a class
- hierarchy. Each subclass inherits all the attributes and methods of its
- superclasses. ITASCA supports multiple inheritance. A subclass may derive
- from more than one superclass.
-
- One of the breakthroughs of object-oriented technology is the reusability of
- code. ITASCA allows for the active management of both reusable code and
- data in an integrated system. Developers may write applications in C++,
- CLOS, C or Common Lisp. This means ITASCA is language neutral. Objects
- stored using one programming language can be accessed by other
- programming languages. It also means an application program need not be
- written in an object-oriented language.
-
- The ITASCA database management system has features belonging to most any
- database system. This includes persistent storage for data and schema,
- concurrency control and locking, transaction management, multiple
- security levels, and logging and recovery for both CPU and disk media
- failure. Additional features of ITASCA include dynamic schema
- modification, long-duration transactions, shared and private databases,
- distributed version control, distributed transaction management, distributed
- query management, distributed change notification, object migration, and
- an extensible architecture.
-
- Shared and private databases exist in a distributed environment in ITASCA.
- The shared database is distributed across workstations (sites) in a network.
- An ITASCA server controls the partition of the shared database at each site.
- ITASCA clients provide transparent access to the various partitions of the
- shared database. The architecture allows any number of private databases at
- each distributed database site. Data can move between private and shared
- databases. Private databases allow private data that is not shared with other
- users of the database.
-
- ITASCA stores the schema redundantly at each site to improve
- performance. The schema storage also includes code in the form of
- methods. Management of schema updates is automatic for all sites. This
- includes sites that were off-line during any changes. Automatic distribution
- of schema changes, including method code changes, simplifies database
- administration.
-
- ITASCA stores each instance of data in one site. The system or a user may
- move the data from one site to another to improve data locality. Access to
- moved data remains transparent. There is no need for a user or application
- to know the specificlocation of data in the ITASCA distributed database.
- ITASCA will automatically find the location of the data. This simplifies
- distributed application development. The developer can rely on ITASCA
- finding data in the distributed database.
-
- No single site acts as a master site, thus ITASCA's architecture has no
- single point of failure. ITASCA has neither a central data server nor a
- central name server. This is important for maintaining a database system
- with high availability in a networked workstation environment.
-
- ITASCA supports dynamic schema modification to create a flexible
- environment for changing or customizing a database system. Authorized
- users can add and remove attributes or change the subclass/superclass
- relationship at any time. Authorized users can also add or remove partitions
- of the shared database at any time. All this can be done interactively without
- affecting other parts of the ITASCA database at the time changes occur to
- the schema. There is no need to "bring the system down" or off-load/reload
- data to restructure the database. Dynamic schema modification can
- significantly reduce maintenance costs. It also is useful in environments
- where change to data definitions are normal or relatively frequent.
-
- ITASCA has a sophisticated security authorization technique tied to the
- class hierarchy. It supports both positive and negative authorizations at any
- level in the class hierarchy. For example, granting access to all objects but
- one requires only two authorizations: a global grant followed by a specific
- denial. Authorization extends to classes, instances of classes, attributes,
- and methods. Also, inheritance of authorization reduces the work of database
- administration.
-
- Long-duration transactions allow users to check objects out of the shared,
- distributed database into their private databases. Users can then change the
- objects in the private databases without affecting the shared database or
- other users. These changes can be committed to the private database. Then,
- at any later time, the user can check the updated object or objects back into
- the shared database.
-
- ITASCA supports version control of objects. A new version of an object
- promotes the original or parent object to restrict further changes to the
- parent. ITASCA also supports alternate versions such that multiple versions
- can have the same parent. Promoting an object version to a released status
- restricts any deletion of the object. ITASCA uses generic versions to
- dynamically reference the most recent or default version of an object
- without any intervention by a user or application.
-
- Change notification in ITASCA is either flag-based or message-based.
- Flag-based notification will identify an updated object upon querying the
- object for such information. It is a passive notification scheme. Message-
- based notification, on the other hand, is an active notification scheme. It
- will execute a method (or code) upon an update or other change to an object.
- Such methods can send mail messages or invoke other methods or
- programs.
-
- Memory management in ITASCA uses both page and object buffers.
- ITASCA has a traditional database page buffer scheme that contains pages
- with multiple objects. Desired objects move from the page buffer to an
- object buffer. The object buffer then provides ITASCA with enhanced in-
- memory performance because it contains only frequently-referenced
- objects.
-
-
- > Matisse
-
- OODBMS FEATURES LIST:
-
- An Industrial Strength Open Semantic Object Database
-
- Performance
- - Symmetric, Fine Grain, Multi-Threaded Architecture
- - Parallel and Asynchronous Disk I/O
- - Automatic Disk Optimization through Dynamic Clustering
- - High Speed OLTP Environment
- Reliability
- - 24 Hour - Mission Critical Operation
- - Media Fault Tolerant (Object Replication)
- - Transparent On-line Recovery
- Database Administration
- - Full On-line Administration (No Down Time)
- - On-line Incremental or Full Back-Up
- - Dynamically Increase Database Size - On-line
- - Full On-line Monitoring
- Data Management and Consistency
- - Dynamic Schema Evolution
- - Consistent Database Reads without Locking
- - Historical Versioning, both Schema and Data Objects
- - Built-in Enforced Referential Integrity
- - Object Level Implicit or Explicit Locking
- Scalability
- - Hundreds of Concurrent On-line Users
- - Hundreds of Gigabytes Per Database
- - From Few Bytes to Four Gigabytes for Each Object
- - Up to Four Giga-objects Per Database
- Object Model
- - Full Object Oriented Model
- - User Extensible Object Meta-Schema
- - Support for Complex, Highly Dynamic, Variable Sized Objects
- - Multiple Inheritance
- Intelligent Objects
- - Triggers at Object, Attribute, or at Relationship Level
- - Consistency Rules at Object, Attribute, or at Relationship Level
- - Customizable Intelligent Object Indexing
- - Automatic Inverse Relationships
- Open Systems
- - Open C, C++ API
- - Supports Any Commercial Development Tool and Language
- - No Proprietary Tool Required
- - Heterogeneous Cross Platform Client/Server Architecture
-
- For Information on MATISSE, Contact one of the following offices:
-
- USA:
- ODB, an Intellitic International Company
- 238 Broadway
- Cambridge, MA 02139
- Phone:(617) 354-4220
- Fax: (617) 547-5420
- email: info@odb.com
-
- EUROPE:
- INTELLITIC INTERNATIONAL
- 12-14 rue du Fort de Saint-Cyr
- Montigny-le-Bretonneux
- 78182 Saint Quentin en Yvelines Cedex France
- Phone: 33(1) 30.14.54.30
- Fax: 33 (1) 30.14.54.40
-
- JAPAN:
- SGN CO. LTD.
- Urban Toranomon Building
- 16-4 Toranomon
- Minato-Ku Tokyo 105 Japan
- Phone: 81 (3) 3593.34.31
- Fax: 81 (3) 3593.34.32
-
-
- > NeoAccess
-
- A cross-platform object-oriented database engine based on C++. It allows
- developers to embed the power of a fully-functional object-oriented database
- system into their applications. All of the data contained in the database,
- including indices, can be in a single file, so users can treat a database
- file as they would a standard document file. The programming model is
- designed to keep visible complexity to a minimum while providing a
- feature-rich foundation on which to build and enhance applications.
-
- NeoAccess has taken a different approach toward the issues surrounding object
- persistence than have other solutions that have been offered. We believe that
- objects should be viewed as having a set of properties with a pliable state.
- With NeoAccess persistent objects are provided with persistence and sharing
- properties. These properties allow objects to maintain an association with a
- file. This association, which can be built and broken freely, allowing
- objects to migrate freely between disk and memory. The API to these
- properties address issues such as adding or deleting the object from a file,
- sorting and indexing, locating and later freeing the object in memory, object
- sharing, and maintaining relationships between objects.
-
- NeoAcces
- s with has been fully integrated into standard application frameworks such as
- Borland's ObjectWindows and MacApp 3.0 and the THINK Class Library on the
- Macintosh. A single source tree can be used to build the engine in all
- development environments. Database files are binary-compatible across
- platforms so users on different types of machines can share data without
- conversion.
-
- Contact:
- Bob Krause
- NeoLogic Systems
- 1373 Third Avenue
- San Francisco, CA 94122
- (415) 566-9207
-
-
- > O2 (INRIA/O2 Technology)
-
- This is an entry on schema evolution. General papers on O2 are included.
-
- We have implemented in O2 schema updates in our first release but
- without NO IMPACT on the database (we have a design to implement
- deferred update, but it is a paper design). However, users manage to
- convert their instances by hand, using their O2 programs written
- themselves, and with the aid of the following tools:
-
- 1- There is a set of predefined classes whose instances contain
- objects representing a schema (i.e., a Meta-schema). These classes
- may be used in a conversion program, they may even be extended by
- the programmer.
-
- 2- There is a save-restore program that allows to take an O2 database,
- save it on a file or a tape in a logical way (i.e., independent of
- the physical format of objects on disk), and restore it again on a
- (perhaps new release) of the system, in an empty database.
- Currently, when saving a database its schema is also saved. The
- next extension to this save/restore program will be to save the
- database without saving its schema, and then restore the database
- on a new version of that schema. The restore program will be able
- to perform automatically some conversions like "add attribute" or
- "delete attribute".
-
-
- Schema updates with impact on the database will be implemented in future
- releases.
-
- [Fernando Velez <fernando@o2tech.fr>]
-
-
- For more information on O2, consult the following REFERENCES:
-
- Francois Bancilhon, Claude Delobel, Paris
- Kanellakis. "Building an Object-Oriented Database
- System: The Story of O2". Morgan Kaufmann Series
- in Data Management Systems, San Mateo, Calif., 1992.
-
- F. Bancilhon, G. Barbette, V. Benzaken, C. Delobel,
- S. Gamerman, C. Lecluse, P. Pfeffer, P. Richard,
- and F. Velez. "The Design and Implementation of
- O2, and Object-Oriented Database System".
- Advances in Object-Oriented Database Systems,
- Springer Verlag. (Lecture Notes in Computer Science
- series, Number 334.)
-
- C. Lecluse, P. Richard, and F. Velez. "O2, an
- Object-Oriented Data Model". Proceedings of
- SIGMOD88. Also appears in Zdonik and Maier,
- "Readings in Object-Oriented Database Systems",
- Morgan Kaufmann, 1990.
-
- ==== Corporate headquarters:
- O2 Technology
- 7 Rue du Parc de clagny
- 78035 Versailles Cedex
- France
- tel : 33 1 30 84 77 77
- fax : 33 1 30 84 77 90
-
- [They have many other contacts worldwide]
-
-
- > Objectivity/DB (Objectivity)
-
- Introduction:
-
- Objectivity/DB has a fully distributed client/server architecture that
- transparently manages objects distributed across heterogeneous environments and
- multiple databases. It provides an application interface that uses transparent
- indirection to ensure integrity and provides a single logical view of all
- information, with all operations working transparently on any database on the
- network, with scalable performance as users and objects increase. A
- higher-level Object Definition Language (ODL) is available as well as a C
- functional interface, integrated C++ interface, and SQL++.
-
-
- Objectivity/DB
-
- Objectivity/DB [Reference: Technical Overview, Objectivity, 1993], a product
- of Objectivity, Inc. of Menlo Park, CA, provides an integrated C++ programming
- interface with an emphasis on the DBMS engine for robustness and scalability
- from workgroups to enterprise-wide production applications. In production use
- today with more than 50,000 end users licensed, it supports a fully
- distributed, rather than central-server, architecture, with all operations
- working transparently over a mixture of multiple databases, schemas, users, and
- computers, and over heterogeneous hardware, operating systems, and networks.
- The language interface includes a C++ class library interface, soon to be ODMG;
- a C function library; and SQL++, supporting query predicates with either SQL or
- C++ syntax, interactively or programmatically. Over forty administrative and
- GUI tools provide both an interactive and programmatic interface, and a
- messaging backplane allows third party tools integration at four different
- levels, with a list of partners at all levels.
-
- One of the key architectural concepts of Objectivity/DB is an object reference
- mechanism that ensures data integrity. Unlike traditional ODBMSs that use
- direct pointers, which become invalid after commit and hence lead to crashes
- and corrupt databases, Objectivity/DB uses an indirection to guarantee safe
- reference. Transparent to the user, this indirection requires an extra test
- and pointer dereference, or a couple of cycles, which is not measurable in most
- applications. However, it ensures integrity of all references, even across
- transaction boundaries, resulting in production quality robustness. Also, it
- provides object level granularity for the object manager, allowing it to move,
- cluster, and swap objects as necessary, one of the keys required for
- scalability in objects and users. Finally, it allows object-level granularity
- for current features, such as heterogeneity and versioning, and future
- extensions, such as object-level security.
-
- A higher-level Object Definition Language (ODL) is provided that allows
- declaration of modeling concepts such as bi-directional associations, behavior
- of associations between objects as they version (move, copy drop), and
- propagation of methods across associations. These then result in automatically
- generated methods and declarations for both C++ and C. The standard C++ API
- allows application programmers to work with any standard compilers and
- debuggers, with no extra pre-processors, providing ODBMS capabilities via
- overloading C++ operators (new, ->, etc.), and declarations via provided
- classes (for references, etc.).
-